在 windows 搭建 gitlab 平台 | 您所在的位置:网站首页 › gitlab windows客户端下载 › 在 windows 搭建 gitlab 平台 |
在 windows 搭建 gitlab 平台
目的:
在 windows 搭建 gitlab 平台,管理代码和文档,且文档(gitbook)实现自动编译部署 更多文章请到 Swift 之 Vapor3 系列目录 方案尝试 方案 1: windows 安装: docker docker 中运行: gitlab, gitlab-runner, gitbook 方案 2: windows 安装: docker, gitlab-runner, node, gitbook docerk 中运行: gitlab 方案 3: windows 安装: ubantu 虚拟机, nginx, gitlab-runner ubantu 虚拟机中安装:docker docker 中运行:gitlab方案1中: 对 docker 的熟练度要求比较高,且比较复杂,不能对 gitlab 的数据进行备份 (-v 运行失败) 方案2中: 降低 docker方向的复杂度, 不能对gitlab 的数据进行备份(-v 运行失败) 方案3中: 可行的方案,但可以进一步优化 -v 运行失败: Volume trouble with GitLab docker image on Windows 正确实践:方案 3 可以在 windows 只保留 nignx 反向代理功能, gitlab, gitlab-runner, gitbook, node 都放到 ubantu 虚拟机中 windowsnginx (需要切到 nginx 目录下运行) 假设将其安装在 E:\nginx-1.16.0\ # cd 到安装的目录 cd E:\nginx-1.16.0\ # 修改nginx配置文件的地方 E:\nginx-1.16.0\conf\nginx.confnginx 的配置如下: http { # 监听 10080 端口,此为 gitlab 的访问端口 server { listen 10080; server_name localhost; location / { proxy_pass 192.168.137.200:10080; # 虚拟机中的 10080 端口, 虚拟机的 ip 为 被配置为 192.168.137.200 } } # 监听 4000 端口,此为 gitbook 的访问端口 server { listen 4000; server_name localhost; location / { proxy_pass 192.168.137.200:4000; } } }重载 nginx的配置 cd E:\nginx-1.16.0\ ./nginx.exe -s reloadnignx 常用的命令有 taskkill /f /im nginx.exe # 关闭所有 nginx 进程 ./nginx.exe -s stop ./nginx.exe -s quit # 处理完现在的请求后停止 ./nginx.exe -s reload # 重新加载配置,并重启进程 hyper-v 虚拟机安装 ubantu 创建Hyper-V虚拟机安装教程就不在这里细讲了,这里说几个点: 对于 ubantu 的 iso 下载,可以找几个国内的镜像,比如这里 mirrors.163.com 在用自己的 iso 镜像启动的时候,会遇到不能启动的情况 那么看尝试下关闭安全启动 ![]() 虚拟机固定Ip 操作步骤可参考 Hyper-V 网络设置 虚拟机固定Ip 可以手动给虚拟机配置个静态 ip. 在 ubantu 的ui 界面,选择配置->网络->ipv4->手动配置,完成后重启虚拟机就好。 然后上面的操作后,虚拟机是无法访问外网的,那么该如何办?可参考 Hyper-V中安装CentOS7设置静态ip并且可以连接外网 虚拟机 ubantu 上安装 docker nginx nodejs gitbookdocker sudo docker image ls # 查看 image 镜像 sudo docekr image rm 删除镜像 sudo docker pull gitlab/gitlab-ce 下载镜像 sudo docker container ls # 查看容器镜像 sudo docker contaier stop 停止运行容器 sudo docker container start 运行容器 sudo docker contaienr restart 重启容器 sudo docker container rm 删除容器gitlab-runner sudo gitlab-runner list # 查看存在的 runner sudo gitlab-runner verify # 核实 runner sudo gitlab-runner register # 注册 sudo gitlab-runner restart # 重启 sudo gitlab-runner start sudo gitlab-runner stop 配置参考docker 添加 gitlab 创建 gitlab 文件夹 $ cd /srv/ $ sudo mkdir gitlab创建命令 $ sudo docker pull twang2218/gitlab-ce-zh $ sudo docker run --detach \ --hostname localhost \ --publish 10443:443 --publish 10080:80 --publish 8888:22 \ --name gitlab \ --restart always \ --volume /srv/gitlab/config:/etc/gitlab \ --volume /srv/gitlab/logs:/var/log/gitlab \ --volume /srv/gitlab/data:/var/opt/gitlab \ twang2218/gitlab-ce-zh:latestdocker 添加 nignx 创建 nginx 文件夹 $ cd /srv/ $ mkdir nginx创建命令 $ sudo docker pull nginx $ sudo docker run --name nginx -d -p 4000:80 -v /srv/nginx/html:/usr/share/nginx/html nginxgitlab-ci.yml before_script: - npm --version - gitbook install stages: - deploy pages: stage: deploy tags: - ldoc script: - ls - gitbook build - ls - cp _book/* /srv/nginx/html -r -f only: - master 总结整个过程走下来也挺简单的,但是期间耗费了些时间,就好比 gitlab 部署在 docker 上数据丢失,数据卷无法在 windows 备份, 引我叹言 "gitlub not love windows"。对于习惯类 linux 的操作系统,windows 的短处必显。对于笨重的虚拟机来说,docker是无比的强大快捷。知识的点逐渐连成线,就不会学得太泛,让你烦躁! 看似简单的一个部署过程,集群 文章到此结束,如果有遇到问题或者文章不对的地方,请在文章底部留言. |
CopyRight 2018-2019 实验室设备网 版权所有 |